package jmine.tec.hydra.api;

import jmine.tec.executionlog.domain.ExecutionLog;

/**
 * Interface da action que decodifica uma mensagem.
 * 
 * @author lundberg
 */
public interface DecodeMessageAction extends HydraAction {

    /**
     * Prepara a action para execução e retorna a própria action
     * 
     * @param message Mensagem decodificada
     * @return DecodeMessageAction
     */
    DecodeMessageAction prepare(HydraMessage message);

    /**
     * Log da execução dos serviços gerados pelo script
     * 
     * @return ExecutionLog
     */
    ExecutionLog getExecutionLog();
}